Mass storage systems continue to provide increased storage capacities to satisfy user demands. Photo and movie storage, photo and movie sharing, and “cloud” storage are examples of applications that fuel the growth in demand for larger and larger storage systems.
A solution to these increasing demands is the use of arrays of multiple inexpensive disks. These arrays may implement RAID functionality. These arrays may be configured in ways that may provide redundancy and error recovery without any loss of data. These arrays may also be configured to increase read and write performance by allowing data to be read or written simultaneously to multiple disk drives. These arrays may also be configured to allow “hot-swapping” which allows a failed disk or controller to be replaced without interrupting the storage services of the array. Multiple disk storage systems typically utilize one or more controllers that shields the user or host system from the details of managing the storage array. Redundant controllers may also be employed to increase reliability and allow for hot-swapping. The controllers may make the storage array appear as one or more disk drives (or volumes). This is accomplished in spite of the fact that the data (or redundant data) for a particular volume may be spread across multiple disk drives.